/* Copyright (c) 2010 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.orkut.client.api.samples.greetings.server.db;

import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import java.util.Date;

/**
 * Store authentication information for a logged in user.
 *
 * @author Shishir Birmiwal
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class AuthEntry {
  @PrimaryKey
  @Persistent
  private String sessionToken;

  @Persistent
  private String authToken;

  @Persistent
  private String authTokenSecret;

  @Persistent
  private Date date;

  public AuthEntry(String sessionToken, String authToken, String authTokenSecret,
      Date date) {
    this.sessionToken = sessionToken;
    this.authToken = authToken;
    this.authTokenSecret = authTokenSecret;
    this.setDate(date);
  }

  /**
   * @param sessionToken the sessionToken to set
   */
  public void setSessionToken(String sessionToken) {
    this.sessionToken = sessionToken;
  }

  /**
   * @return the sessionToken
   */
  public String getSessionToken() {
    return sessionToken;
  }

  /**
   * @param authToken the authToken to set
   */
  public void setAuthToken(String authToken) {
    this.authToken = authToken;
  }

  /**
   * @return the authToken
   */
  public String getAuthToken() {
    return authToken;
  }

  /**
   * @param authTokenSecret the authTokenSecret to set
   */
  public void setAuthTokenSecret(String authTokenSecret) {
    this.authTokenSecret = authTokenSecret;
  }

  /**
   * @return the authTokenSecret
   */
  public String getAuthTokenSecret() {
    return authTokenSecret;
  }

  /**
   * @param date the date to set
   */
  public void setDate(Date date) {
    this.date = date;
  }

  /**
   * @return the date
   */
  public Date getDate() {
    return date;
  }
}
